package org.light.framework.util;

import java.util.Properties;

import org.light.framework.Consts;

/**
 * 配置文件读取类
 * @author de.cel
 *
 */
public final class ConfigUtil {

	
	private static final Properties CONFIG_PROPS=PropsUtil.load(Consts.CONFIG_PROPS);
	
	public static String getJdbcDriver(){
		return PropsUtil.getString(CONFIG_PROPS, "jdbc.driver");
	}
	
	public static String getJdbcUrl(){
		return PropsUtil.getString(CONFIG_PROPS, "jdbc.url");
	}

	public static String getJdbcUsername(){
		return PropsUtil.getString(CONFIG_PROPS, "jdbc.user");
	}
	
	public static String getJdbcPassword(){
		return PropsUtil.getString(CONFIG_PROPS, "jdbc.password");
	}
	
	/**
	 * 获取应用基础包名
	 * @return
	 */
	public static String getAppBasePackage() {
		return PropsUtil.getString(CONFIG_PROPS, "app_base_package");
	}
	
	/**
	 * 获取JSP页面路径
	 * @return
	 */
	public static String getAppJspPath() {
		return PropsUtil.getString(CONFIG_PROPS, "app_jsp_path");
	}
	
	/**
	 * 获取静态资源路径
	 * @return
	 */
	public static String getAppAssetPath() {
		return PropsUtil.getString(CONFIG_PROPS, "app_asset_path");
	}
	
	/**
	 * 获取静态资源路径
	 * @return
	 */
	public static String getComponentPath() {
		return PropsUtil.getString(CONFIG_PROPS, "component_path");
	}
	
	
	   /**
     * 属性文件对象
     */
    private static final Properties configProps = PropsUtil.load(Consts.CONFIG_PROPS);

    /**
     * 获取 String 类型的属性值
     */
    public static String getString(String key) {
        return PropsUtil.getString(configProps, key);
    }

    /**
     * 获取 String 类型的属性值（可指定默认值）
     */
    public static String getString(String key, String defaultValue) {
        return PropsUtil.getString(configProps, key, defaultValue);
    }
    
    /**
     * 获取 boolean 类型的属性值
     */
    public static boolean getBoolean(String key) {
        return PropsUtil.getBoolean(configProps, key);
    }

    /**
     * 获取 int 类型的属性值（可指定默认值）
     */
    public static boolean getBoolean(String key, boolean defaultValue) {
        return PropsUtil.getBoolean(configProps, key, defaultValue);
    }
}
